package zzs.generalframework.console.core.parameter.commonparameter.maritalstatus.service;

import java.util.List;

import zzs.generalframework.common.core.parameter.commonparameter.maritalstatus.MaritalStatusBO;
import zzs.generalframework.common.core.parameter.commonparameter.maritalstatus.MaritalStatusInfo;
import zzs.generalframework.console.common.exception.ConsoleException;
import zzs.generalframework.console.common.model.ConsoleReturnBO;

/**
 * @title
 * @description
 * @project zzs-console
 * @package zzs.generalframework.console.core.parameter.commonparameter.maritalstatus.service
 * @author zzs
 * @date 2018年2月2日
 * @version 1.0
 */
public interface IMaritalStatusService
{

	/**
	 * 保存婚姻状况信息
	 *
	 * @param maritalStatus
	 * @return
	 */
	public ConsoleReturnBO saveMaritalStatus(MaritalStatusBO maritalStatusBO);

	/**
	 * 保存婚姻状况信息列表
	 *
	 * @param maritalStatusBOList
	 * @return
	 * @throws ConsoleException
	 */
	public ConsoleReturnBO saveMaritalStatus(List<MaritalStatusBO> maritalStatusBOList) throws ConsoleException;

	/**
	 * 获取婚姻状况信息
	 *
	 * @param maritalStatusInfo
	 * @return
	 */
	public ConsoleReturnBO getMaritalStatus(MaritalStatusInfo maritalStatusInfo);

	/**
	 * 获取婚姻状况信息列表
	 *
	 * @param maritalStatusInfo
	 * @return
	 */
	public ConsoleReturnBO listMaritalStatus(MaritalStatusInfo maritalStatusInfo);

	/**
	 * 更新婚姻状况信息
	 *
	 * @param maritalStatusBO
	 * @return
	 */
	public ConsoleReturnBO updateMaritalStatus(MaritalStatusBO maritalStatusBO);

	/**
	 * 更新婚姻状况信息列表
	 *
	 * @param maritalStatusBOList
	 * @return
	 * @throws ConsoleException
	 */
	public ConsoleReturnBO updateMaritalStatus(List<MaritalStatusBO> maritalStatusBOList) throws ConsoleException;

	/**
	 * 删除婚姻状况信息
	 *
	 * @param maritalStatusBO
	 * @return
	 */
	public ConsoleReturnBO removeMaritalStatus(MaritalStatusBO maritalStatusBO);

	/**
	 * 删除婚姻状况信息列表
	 *
	 * @param maritalStatusBOList
	 * @return
	 * @throws ConsoleException
	 */
	public ConsoleReturnBO removeMaritalStatus(List<MaritalStatusBO> maritalStatusBOList) throws ConsoleException;

	/**
	 * 统计婚姻状况信息
	 *
	 * @param maritalStatusBO
	 * @return
	 */
	public Long countMaritalStatus(MaritalStatusBO maritalStatusBO);

}
